Method, system, and program for network design, analysis, and optimization

ABSTRACT

Provided are a method, system, and program for rendering information on network infrastructure. A selection of customer sites is received and a database is queried to determine geographical locations of the selected network sites. A graphical user interface is rendered including representations of the selected customer sites in a map at the geographical location of the selected sites in the map. Selection is received of at least one network service provider (NSP). The database is queried to determine network infrastructure of the selected NSP and geographical locations of the determined network infrastructure. Representations are rendered of the determined network infrastructure in a map at the determined geographical locations of the determined network infrastructure to render a visualization of the geographical locations of the selected customer sites and network infrastructure of the selected at least one NSP in the map.

RELATED APPLICATIONS

This application is a non-provisional application claiming priority fromthe following applications:

U.S. Provisional Application No. 60/384,807, entitled “A SYSTEM ANDMETHOD AND COMPUTER PRODUCT FOR COUPLING A DATA PROCESSING CENTER TO ALIVE DATA PROCESSING CENTER TO PROVIDE FOR SPATIALLY VIEWING, ANALYZING,AND SHARING ENTERPRISE DATA AND GEOSPATIAL DATA ACROSS MULTIPLE USERS,”by T. von Kaenel et al., filed on Mar. 16, 2002, and which isincorporated by reference herein in its entirety;

U.S. Provisional Application No. 60/433,597, entitled “SYSTEMS ANDMETHODS FOR REAL-TIME EVALUATING AND REPORTING ASSOCIATED WITH INSURANCEPOLICY UNDERWRITING AND RISK MANAGEMENT,” by S. Kumar et al., filed onDec. 16, 2002, and which is incorporated by reference herein in itsentirety;

U.S. Provisional Application No. 60/437,990, entitled “SYSTEMS ANDMETHODS FOR REAL-TIME EVALUATING AND REPORTING ASSOCIATED WITH INSURANCEPOLICY UNDERWRITING AND RISK MANAGEMENT,” by S. Kumar et al., filed onJan. 6, 2003, and which is incorporated by reference herein in itsentirety;

U.S. Provisional Application No. 60/449,601, entitled “SYSTEMS ANDMETHODS FOR NETWORK DESIGN, ANALYSIS, AND OPTIMIZATION,” by Tim A. vonKaenel, filed on Feb. 26, 2003, and which is incorporated by referenceherein in its entirety; and

is a Continuation-In-Part of U.S. application Ser. No. 10/388,666,entitled METHOD, SYSTEM, AND PROGRAM FOR AN IMPROVED ENTERPRISE SPATIALSYSTEM,” by T. von Kaenel et al., filed on Mar. 14, 2003, and which isincorporated by reference herein in its entirety.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to method, system, and program for networkdesign, analysis, and optimization.

2. Description of the Related Art

Businesses often seek the advice of network designers on ways to design,analyze and/or optimize network infrastructure. Such networkinfrastructure may make up any type of network, such as a local-areanetwork (LAN), a home-area network (HAN), a campus-area network (CAN), ametropolitan-area network (MAN), and/or a wide area network (WAN), anyof which may include of one or more of a data network, atelecommunications network, a fiber optic network, a wireless network,as well as any other type of network. Moreover, such design, analysis,and/or optimization may involve creating a new network or modifying anexisting network, such as by adding to and/or replacing a portion of theexisting network.

In designing, analyzing, and/or optimizing a network, the networkdesigner may have to identify the data-handling capacity and the cost ofoperating the business's desired (i.e., existing and/or proposed)network, the business's objectives and requirements for the desirednetwork, and the network infrastructure and services that are availablefor designing and/or optimizing the desired network. The networkdesigner may then design and price a network proposal that meets thenetwork requirements.

Particularly challenging for the network designer is the task ofidentifying network service providers (NSPs) that provide networkinfrastructure and service (e.g., fiber optic service, wireless service,data service, telecommunications service, etc.) in a region of interestfor a desired network. In many instances, a network designer may notknow which NSPs service a particular region and what networkinfrastructure a particular NSP may provide in the region.

Currently, a business that wants to design, analyze, and/or optimize anetwork will identify the desired network for the network designer. Thisidentification of the desired network may include a list of theaddresses (e.g., mailing addresses) for the business locations on thedesired network. The desired network connections may also be provided tothe network designer, such as in the form of a list identifying thenetwork connection types (e.g., a T1 or a T3 connection) betweenidentified pairs of addresses for the business locations on the network.With this data, the network designer may compute the capacity orbandwidth of the desired network, or a portion thereof, in anywell-known manner.

Typically, with no more than this data, a network designer will contactthe NSPs believed to serve a region encompassing the desired network toidentify those NSPs that offer the desired network services. The networkdesigner may contact each such NSP to describe the desired network andto request a proposal. The network designer then obtains the NSP offers,selects the best ones, and reports them to the business for furtherconsideration.

BRIEF DESCRIPTION OF THE DRAWINGS

Referring now to the drawings in which like reference numbers representcorresponding parts throughout:

FIG. 1 is a block diagram of a system in accordance with the presentinvention;

FIG. 2 is a flowchart diagram of a method in accordance with the presentinvention;

FIG. 3 illustrates a computing environment in accordance withembodiments of the invention;

FIGS. 4 a, 4 b, 4 c, 5 a, and 5 b illustrate information maintained in anetwork design database in accordance with embodiments of the invention;

FIGS. 6, 8, 11, 13, 17, and 23 illustrate operations performed by thenetwork design tool in accordance with embodiments of the invention; and

FIGS. 7, 9, 10, 12, 14-16, 18-22, and 24-26 illustrate examples of agraphical user interface rendering network information in accordancewith embodiments of the invention.

DETAILED DESCRIPTION

In the following description, reference is made to the accompanyingdrawings which form a part hereof and which illustrate severalembodiments of the present invention. It is understood that otherembodiments may be utilized and structural and operational changes maybe made without departing from the scope of the present invention.

Identifying a Network Service Provider to Use to Provide NetworkServices for a Distributed Network

Systems and methods consistent with the present invention assist anetwork designer in evaluating NSPs according to their ability tocost-effectively provide network services in support of a desirednetwork. To this end, the systems and methods consistent with thepresent invention may employ an NSP database, which may include data tohelp a network designer in making such evaluations. For instance, theNSP database may include data representing user-selectable criteria thatmay be utilized by a network designer to evaluate each NSPs' ability tocost-effectively provide desired network services and to evaluate eachNSPs' offer.

FIG. 1 illustrates an exemplary system 10 consistent with the presentinvention. System 10 may include one or more client computers 12 forconnection through a network 14, such as the internet, to a server 16,which may be connected to a database 18. Client computers 12 maycomprise any conventional computer or other client device that mayinclude software, such as a web browser, for accessing server 16.Similarly, server 16 may comprise any conventional server that mayexecute any conventional software code for implementing the methoddepicted in FIG. 2.

As further described below, database 18, which may comprise one or moredatabases, includes data that may be used by a network designer toevaluate NSPs according to their ability to cost-effectively providedesired network infrastructure and to evaluate each NSPs' offer. Forexample, database 18 may include data for conventionally displaying witha web browser on client computer 12 images, such as maps, which maysimultaneously depict one or more of: 1) a business's desired network(e.g., addresses of business locations and their respective networkconnections for an existing network and/or a proposed network); 2) NSPinfrastructure (e.g., fiber optic lines, switches, cell towers, etc.)that may be used to provide the business's desired network; and 3) anyother images or information that may be useful to a network designer inevaluating NSPs according to their ability to cost-effectively providethe desired network, such as geospatial data that may depict images ofroads, boundaries, rivers, etc., particularly in and around the area forthe requested network.

FIG. 2 illustrates an exemplary method consistent with the presentinvention. In step 20, a network designer may receive a network designrequest. In one instance, a business may ask the network designer todesign a new network. Alternatively, a business may ask the networkdesigner to determine whether some part or the whole of the business'sexisting network may be optimized, expanded, and/or replaced. Forexample, a business may ask the network designer to replace (or add to)a portion of the business's existing network with fiber opticinfrastructure (e.g., fiber optic lines, switches, etc.) such that thecompleted network's system performance is improved (or at least notreduced) while operating costs are reduced (or maintained). Anyconventional means of reporting the request to the network designer maybe used, such as telephone conference, email, facsimile, and the like.

In step 22, the business may provide the network designer with data thatmay identify the desired network. Such data may include the addressesfor business locations in the desired network, as well as networkconnections, such as a T1 or a T3 line, between identified pairs ofbusiness locations. The desired network may include addresses forbusiness locations and network connections for: 1) an existing networkthat may be optimized; 2) an existing network that may be optimized andintegrated with one or more additional proposed networks; or 3) a newlydesigned network. Any conventional means of reporting the desirednetwork data to the network designer may be used, such as telephoneconference, email, facsimile, and the like. Alternatively, the networkdesigner may research to assemble data that identifies the business'sexisting network infrastructure.

In step 24, the network designer may submit from client computer 12 toserver 16 the network data reported at step 22 to identify the desirednetwork (i.e., an existing network and/or a proposed network). Forexample, the network designer may submit to server 16 the network datain a flat file form or by entering the network data into a web formusing client computer 12. Network data for submission to server 16 in aflat file form may be stored in client computer 12 in a CSV format(comma separated values) or any other suitable format. Network data forsubmission to server 16 by entering the data into a web form may be madeavailable to server 16 using any conventional web hosting technology. Inaddition to providing the network data (e.g., business address locationsand network connections for the desired network) to server 16, thenetwork designer may use client computer 12 to add to, delete, orotherwise change the network data, either before or after having beenprovided to server 16.

In step 26, server 16 may employ one or more conventional programs toperform the well-known geographic information system (GIS) processes ofcleansing, validating, and geocoding the data identifying the desirednetwork. To cleanse and geocode the desired network data, the CentrusAddressBroker product from Sagent Technology, Inc. of Mountain View,Calif. may be used. Oracle version 9.1.0.4 with Spatial Extensions maybe used to validate the desired network data in any manner well known tothose skilled in the art. However, those skilled in the art understandthat any other conventional programs may be used to cleanse, validate,and geocode the data identifying the desired network. The GISpreparation (e.g., cleansing, validating, and geocoding) of the desirednetwork data for display on client computer 12 may be automated in anywell-known manner such that the business locations for the desirednetwork and their network connections may be viewed in an image, such asa map, on client computer 12. To facilitate such viewing, server 16 mayalso store in a database, such as database 18, at least the data forsuch network infrastructure.

Geocoding is a well-known GIS process that, among other things, maypermit displaying objects on a map. The geocoding process may associatewith each business address provided in step 22 a latitude and alongitude value. Following such associations, a geocoded (as well ascleansed and validated) business address location may be queried usingconventional GIS spatial queries to determine the address's locationrelative to the location of any object that may be represented by othergeocoded data sets that may be accessed by server 16. For example, usingconventional GIS spatial queries, server 16 may determine the relativespatial positioning between two or more objects (e.g., between anaddress location and a point on an NSP's fiber optic line that may beconsidered for network service to the address location). Havingdetermined the correct relative spatial positions between a plurality ofobjects that may be represented with geocoded data, server 16 maycorrectly show the objects in an image, such as a map, on a clientcomputer display.

At step 28, the network designer may identify for his furtherconsideration a network that is the same as, smaller, or larger than theone specified by data received in step 24 (i.e., the business addresslocations and network connections from step 24). For example, thenetwork designer may identify a set of building locations, which mayinclude all of the building locations submitted at step 24, less thanall of these locations (if, for example, only a portion of the networkwas to be optimized), or more than all of these locations. In additionto identifying the building locations for network designerconsideration, the network connections may be identified by server 16automatically selecting all of the network connections identified instep 24 that connect to any of the business locations selected in step28. The set of building locations and network connections identified instep 28 may ultimately be contained in a network proposal by thedesigner such that they are connected in a manner to enhance networkefficiency, such as by replacing some or all of the prior networkconnections with lines having improved data-handling capacity (e.g.,fiber optic).

The network data from step 24 (e.g., business locations and networkconnections) may be viewed by the network designer on a client computerdisplay to facilitate the identification of step 28. Geocoding of thenetwork data may facilitate such viewing. Any conventional technique maybe employed for this identification. For example, using client computer12 the network designer may send server 16 conventional GIS spatialqueries that would retrieve from database 18 the desired businesslocations and network connections. Alternatively, the network designermay select from a menu of predefined identification options (e.g.,select all of the business locations and network connections from step24). Also, the network designer may use a graphical use interface (GUI),such as a mouse-driven pointer, to conventionally select one or moreregions on the client computer display, the selected regions displayingthe business locations and network connections that are to be thenetwork identified in step 28 for network designer consideration.

At step 30, server 16 may compute the total bandwidth requirements forthe desired network identified in step 28. Those skilled in the artunderstand that this computation may be done in any one of severalconventional ways that may utilize, as a factor, the bandwidth of thedesired network, as identified at step 28, across the building locationsand network connections identified in step 28.

At step 32, the network designer may select one or more criteria toidentify NSPs that may be able to provide the infrastructure needed toconfigure the desired network identified in step 28, pursuant to therequirements of the selected criteria. The network designer may use aGUI, such as a mouse-driven pointer, to select from a set of predefinedcriteria shown on the client computer display. Client computer 12 maysend the selected criteria to server 16, which may then access the NSPdatabase to retrieve the NSPs that may fulfill the requirements of theselected criteria. In retrieving the sought-after NSP data, server 16may send conventional GIS spatial queries to the NSP database.

One such criteria may be used to identify NSPs that may provide fiberoptic service, such as one or more fiber optic lines and fiber opticswitches, to one or more building locations in the desired network ofstep 28. Alternatively, a selection criteria may be used to identifyNSPs that provide a predefined network service, such as fiber opticservice, within a defined distance from one or more building locationsin the desired network of step 28. For example, although a particularNSP may not provide fiber optic service to any building locationidentified in step 28, the NSP may provide fiber optic service within adefined distance of one or more of the identified building locations(i.e., the NSP may have a fiber optic line less then a defined distancefrom a building location).

Those skilled in the art understand that there may be a number of othercriteria that could be valuable to the network designer in endeavoringto evaluate NSPs according to their ability to cost-effectively design,analyze, and/or optimize a business's desired network and to evaluateeach NSPs' offer. For example, the network designer may find it usefulto know: 1) how long specified NSPs have been offering a specifiedservice; 2) the size of the customer base in a specified service forspecified NSPs; 3) the total bandwidth offered by a specified NSP for aspecified service; 4) the available bandwidth offered by a specified NSPfor a specified service; and 5) any other criteria that a networkdesigner may find useful to identify NSPs for making such evaluations.

Accordingly, the NSP database, which may be a part of or separate fromdatabase 18, may include any of such criteria, which may be stored asconventionally cleansed, validated, and geocoded data. Any commerciallyavailable database with such data may be used for the NSP database. Forexample, GeoTel, Inc. of Orlando, Fla. provides GeoTel Data Sets calledGeoTel Fiber, GeoTel Connect, GeoTel Exchange, GeoTel Networks, GeoTelWireless, and GeoTel Analyst that include network infrastructure datafor NSPs providing fiber optic, data, voice, and wireless services.Regardless of whether a commercially available database that may be usedfor the NSP database is available from the manufacturer with cleansed,validated, and geocoded data, those skilled in the art understand thatone or more conventional programs may be used to cleanse, validate, andgeocode the NSP data. For example, to cleanse and geocode the NSP data,the Centrus AddressBroker product from Sagent Technology, Inc. ofMountain View, Calif. may be used. Oracle version 9.1.0.4 with SpatialExtensions may be used to validate the NSP data in any manner well knownto those skilled in the art. However, those skilled in the artunderstand that any other conventional programs may be used to cleanse,validate, and geocode the NSP data.

At step 34, the network designer may analyze one or more spatial viewsdepicting network infrastructure for the NSPs identified in step 32 thatmay be used to fulfill the proposed network of step 28. The clientcomputer display may provide a series of user-selectable viewing optionsfor the network designer, such as viewing network infrastructure for oneor more of the NSPs identified in step 32. For example, a list of NSPsidentified in step 32 may be displayed on client computer 12 from whichthe network designer may select one or more to view the networkinfrastructure available to provide the desired network identified atstep 28. Those skilled in the art understand that server 16 may useconventional GIS spatial queries to retrieve from the NSP database therequested spatial views of NSP infrastructure, such as a view thatdepicts the available fiber optic network infrastructure for an NSP thathas fiber optic service available to one or more business locationsidentified at step 28. It will also be apparent to those skilled in theart that the data in the NSP database representing available NSP networkinfrastructure may be geocoded for displaying purposes.

At step 36, the network designer may request for the NSPs identified instep 32 a ranking of their ability to provide cost-effective service forthe desired network. Client computer 12 may display a list of rankingcriteria from which the network designer may select with a GUI, such asa mouse-driven pointer. To perform the requested ranking, server 16 maysend conventional GIS spatial queries, as known to those skilled in theart, to database 18 to compare the network infrastructure of the NSPsidentified in step 32 with the desired network of step 28.

For example, one ranking criteria may rate the NSPs identified in step32 by determining for each such NSP the number of business locationsidentified in step 28 to which the NSP has network service, such asfiber optic service, already connected (i.e., the number of “hits”). Forthis exemplary ranking criteria, server 16 may display on clientcomputer 12 a list of the NSPs, arranged in order according to theirrespective number of “hits.” An alternative criteria may be used to rankNSPs that provide a predefined network service, such as fiber opticservice, within a defined distance from one or more building locationsin the desired network of step 28.

Such rankings may be valuable to the network designer in evaluating theNSPs, because they indicate for each NSP how many business locations inthe desired network are already connected to, or within a defineddistance of, a sought-after networking service, such as fiber opticservice. For example, if the network designer knows that a particularNSP has the most fiber optic service “hits” to or near businesslocations in the desired network, then the designer may conclude thatthat NSP should, with all other factors being equal, be able to providethe most cost-effective quotation. The network designer may reach such aconclusion because the NSP that provides the requested network service,such as fiber optic service, to or near to the most business locationsdoes not have to spend as much money (and pass it along in theirquotation to the network designer) to establish new fiber opticconnections.

At step 38, the network designer may spatially view on the clientcomputer display the network infrastructure available from a specifiedNSP for servicing the desired network identified in step 28. Clientcomputer 12 may display a list of the NSPs identified in step 32, suchas an NSP ranking list from step 36. Using a GUI, such as a mouse-drivenpointer, the network designer may select one or more of the listed NSPs.Server 16 may then use conventional GIS spatial queries to database 18to retrieve for display on client computer 12 the selected networkinfrastructure, such as a particular NSP's fiber optic networkinfrastructure for servicing the desired network identified in step 28.

In step 38, the network designer may also select with a GUI, such as amouse-driven pointer, an option for server 16 to generate and displayone or more reports that may contain: 1) a spatial view of the completeset of building locations (from step 24); 2) a spatial view of thedesired network (from step 28); 3) the bandwidth requirement for thedesired network (from step 30); 4) a spatial view of the buildinglocations with “hits” (whether they be direct “hits” to a buildinglocation or “hits” within a defined distance of a building location) fora specified NSP, such as the NSP capable of providing the mostcost-effective service quotation (from step 36); and 5) a spatial viewof the network infrastructure for the desired network from a specifiedNSP, such as the NSP capable of providing the most cost-effectiveservice quotation (from step 38).

In step 40, the network designer may annotate any of the reports fromstep 38. For example, the network designer may use a client computerGUI, such as a mouse-driven pointer and/or a keyboard, to instructserver 16 to incorporate text, such as a title and a subtitle for areport, shapes, such as arrows to specified areas in a spatial view of areport, or any other information that the network designer wishes toincorporate into a report.

In step 42, the network designer may use client computer 12 to directserver 16 to save on database 18 any of the results from the analysisthat was performed or any of the reports that were generated forsharing, at step 44, with a customer, other consultants, or any otherinterested party.

It will be apparent to those skilled in the art that variousmodifications and variations can be made to the system and method of thepresent invention without departing from the spirit or scope of theinvention. For example, although aspects of the present invention may bedescribed as replacing existing network infrastructure with a fiberoptic network, one skilled in the art will appreciate that systems andmethods consistent with the present invention may also be employed tocreate, optimize, expand, and/or replace desired network infrastructureusing non-fiber optic networks, such as wireless networks, traditionaldata networks, telecommunications networks, etc. The present inventioncovers the modifications and variations of this invention provided theycome within the scope of the appended claims, or any subsequently-filedclaims, and their equivalents.

Network Design Tool

FIG. 3 illustrates a computing environment in which embodiments may beimplemented. A client system 100, which may comprise any computingdevice known in the art, such as a workstation, desktop computer, laptopcomputer, hand held computer, server, telephony device, etc. The client100 includes a network design tool 102 to enable an administrator todesign their network infrastructure and select NSPs to use to providethe network connections, including entry/exit points in buildings,protocols to use, fiber connections, etc. The network design tool 102would render a user interface 104, which may comprise a graphical userinterface (GUI), to enable a user to interact with a network designdatabase 106 having information on network infrastructure availablethrough recognized NSPs. The network design tool 102 may query thenetwork design database 106 to determine information on NSP networkinfrastructure within a specified geographical location and the locationof customer sites that will need to link to the existing NSP networkinfrastructure. The client 100 may access the network design database106 over a network 108, such as a Local Area Network (LAN), Wide AreaNetwork (WAN), the Internet, and Intranet, etc. Alternatively, theclient 100 may be directly connected to the system implementing thenetwork design database 106. The network design database 106 mayimplement any data store architecture known in the art, such as arelational database, non-relational database, etc.

The client 100 includes a client data manager 110, which is used toupload client information for a user to the network design database 106.The network design tool 102 may utilize a database client program tosubmit queries to a database server controlling access to the networkdesign database 106 to access and update the data therein.

FIGS. 4 a, 4 b, and 4 c illustrate examples of data structures includinginformation on NSP network infrastructure maintained in the networkdesign database 106. FIG. 4 a illustrates NSP information 120 maintainedfor each NSP for which network infrastructure information is available.The NSP information 120 for one NSP includes an NSP identifier 122, aswitch list 124 identifying the one or more switches deployed by thatNSP and a path list 126 providing information on the geographicallocation of one or more network routes made available by the NSP thatare accessible through the switches identified in the switch list 124.

FIG. 4 b illustrates switch information 130 providing information oneach switch identified in the switch lists 124 in the NSP informationrecords 120. The switch information 130 for a switch includes a switchidentifier 132, such as a unique world wide name or serial number, aswitch geographical location 134, e.g., latitude and longitude, andswitch bandwidth 136 indicating the network bandwidth available throughthat switch.

FIG. 4 c illustrates path information 140 providing information on eachpath or network route identified in the path list 126 of the NSPs. Anetwork path may comprise cables, wires, optical fiber, copper wire or awireless network, e.g., “hot zone”, covering a defined geographicregion. The path information 140 for a switch includes: a path (route)identifier 142; a list 144 of the switches along the route of the path,a geographical route 146 comprising spatial and geographical informationidentifying the physical route of the network path or area, which mayinclude the multiple points or a radius defining the geographical routeor area of the path; and the path bandwidth 148 indicating the networkbandwidth available through that path.

The available infrastructure offered by an NSP would be defined by theswitches and paths provided by that NSP as indicated in the switch 130and path 140 information in the network design database 106. Additionalinformation on the NSP network infrastructure may also be provided.

The network design database 106 would further include information onusers authorized to access the network design database and groups ofcustomer locations maintained for that user. FIG. 5 a illustrates a userdata record 150 including: a user identifier (ID) 152, which may alsoinclude a password to authorize access; a customer list 154 includingmultiple customers for that user, where each customer is a groupingassociated with one or more customer sites potentially needing networkaccess; and other user information 156, such as settings or preferencesof a user.

FIG. 5 b illustrates the customer information 160, where there iscustomer information 160 for every customer identified in the customerlist 154 for the users. The customer information 160 includes: acustomer identifier 162, which may include descriptive information;customer sites 164 indicating one or more customer sites requiringnetwork access, including longitude and latitude information of eachsite; site connections 166 indicating connections between the customersites; site information 168 including information on the site, such asnetwork bandwidth, street address, users at site, etc.; and locationconnection information 170 providing information on the connectionsbetween the sites, such as bandwidth, etc.

FIG. 6 illustrates operations performed by the network design tool 102program to initiate a user session to access information in the networkdesign database 106. Upon the user initiating a session (at block 200),the network design tool 102 determines (at block 202) the customer list154 from the user data 150 for the user initiating the session anddetermines from the customer information 160 for each customeridentified in the determined customer list 154 all customer sitelocations. A geographical region encompassing all determined customersite locations is determined (at block 204). A street map including thedetermined geographical region is then accessed (at block 206). Thenetwork design database 106 may include a street map database or thestreet map may be accessed from another street mapping program. Theaccessed street map region is rendered (at block 208) in a map sectionof the user interface 104, such as the map section 202 shown in the GUI206 of FIG. 7. The map section 202 may display all or a portion of theaccessed street map region accessible through scrolling user interfaceelements.

A selection box is then displayed (at block 210) for each customer inthe user customer list 154 in the user interface 104, such as thedisplayed section 204 of the user interface 300 listing each customer inthe customer list for the user and a check box next to each customername to enable selection of that customer, where each customer iscapable of being associated with one or more customer sites. The networkdesign tool 102 may query (at block 212) the NSP information 120 (FIG. 4a) for each NSP included in the network design database 106 to determinethose NSPs having switches in the determined geographic region, based onthe switch location information 134 in the switch information 130. Thename of each NSP having a switch in the determined geographic region isthen rendered along with a check box enabling selection of the NSP. Theuser interface 200 of FIG. 7 shows a display region 206 listing NSPsproviding fiber or network resources, including switches and paths,within the determined geographic region.

FIG. 8 illustrates operations performed by the network design tool 102to render information in the user interface 104 on the customer sites.Upon receiving (at block 250) user selection of a customer, which may bemade by selecting one of the customer check boxes shown in the region204 of the user interface 200 (FIG. 7), a determination is made (atblock 252) of all customer site locations for the selected customer fromthe customer site 164 information in the customer information 160 (FIG.5 b). A graphic representation of all the determined customer sites isrendered (at block 206) at the customer geographic locations shown inthe map region. FIG. 9 illustrates a user interface 270 whose map region272 displays the customer sites in the street map as small darkenedcircles, e.g., 274, thereby allowing identification of the customersites for a selected customer, which in user interface 270 is “CustomerA” 276.

FIG. 10 illustrates a user interface 280 showing information that isdisplayed when a user selects a site location in the map region 282 andthen selects to display information on that site in dialog box 284, suchas by selecting an icon or menu item from the user interface 280. Therendered site information 284 may be accessed from the site information168 for that customer site in the customer information 160 (FIG. 5 b) inthe database 106.

FIG. 11 illustrates operations performed by the network design tool 102to render linkages between the customer sites in the user interface 104.Upon receiving (at block 300) user selection of a “show linkages” boxfor a listed customer, a determination is made (at block 302) of theconnections between all the customer sites of the selected customer andlines are rendered (at block 304) illustrating the determinedconnections between the selected customer sites.

FIG. 12 illustrates a user interface 310 showing in the map region 312the determined connections, e.g., 314, between the customer sites forCustomer A, where the selection box to cause the display of the sitesfor customer A and the linkages of customer A are shown as elements 314and 316, respectively.

FIG. 13 illustrates operations performed by the network design tool 102to perform a query related to the customer connections to determineinformation thereon. Upon initiating (at block 350) a query of customerconnections, a query box is rendered (at block 352) including selectablefields in which a user can select and enter search criteria onparameters to query. The network design tool 102 would then initiate aquery (at block 354) of the site 164 or connection 166 information todetermine site locations or connections satisfying the search criteria.The location or connections resulting from the query are rendered (atblock 356) differently in the map region to indicate they are queryresults.

FIG. 14 illustrates a user interface 360 showing the display of a querybox 362 in which the user may select parameters and search criteria onwhich to query. For instance, the user may select to query on switchtype and/or a specific geographical location, such as city, zip code,street, etc., and enter or select the search criteria of the queryparameters in the query box 362.

FIG. 15 illustrates a user interface 370 showing the rendering of theconnections resulting from the query in a different manner than otherconnections. For instance, in the map region 372, the connectionssatisfying the query parameters, such as connections which would use acertain switch type, e.g., Optical Carrier 3 (OC3), have a certainbandwidth, etc., are rendered with a dashed line, e.g., 374, whereasconnections that do not satisfy the query are rendered differently, suchas with a solid line, e.g., 376.

FIG. 16 illustrates a user interface panel 380 displaying a dialog box382 including information on a connection, which would be rendered inresponse to the user selecting a displayed connection and then selectingto display information on the selected connection, where the informationrendered in the dialog box 382 would be accessed from the connectioninformation 170 (FIG. 5 b).

FIG. 17 illustrates operations the network design tool 102 performs toallow the user to obtain information on NSP network infrastructureavailable at customer sites. The user would select (at block 400) one ormore displayed customer sites and enter information (at block 402)defining a buffer region for the selected site, where the bufferspecifies a region, such as a radius, around a site location to considerfor available NSP infrastructure. The network design tool 102 thenqueries (at block 404) the switch information 130 to find all switcheswhose geographic location 134 (FIG. 4 b) falls within the boundaries ofthe buffer defined around one of the selected customer sites. Alldetermined switch locations are rendered (at block 406) in the mapregion in manner different than the customer sites are rendered todistinguish the two. All the determined switch locations in a buffer arerendered (at block 408) in the map region as contained within the bufferregion in a manner different than the switch locations that do not fallwithin one buffer region.

The buffers would identify those NSP switches that the network designermay select to use as the network infrastructure for the selectedcustomer sites, i.e., that network infrastructure with a definedgeographic proximity (within the buffer) to NSP network infrastructure.

FIG. 18 illustrates a user interface 420 having a dialog box 422 inwhich the user enters a buffering distance 424, a unit measurement 426of the buffer distance, a color 428 in which to render the bufferregion, and a manner in which to render the representations of theswitches that fall within the buffer region 428, e.g., lighted points,etc.

FIG. 19 illustrates a user interface 440 including a map region 442 inwhich is displayed a buffer region, represented by circle 444, includingswitch sites displayed lit 446, as opposed to switch sites displayedoutside of the buffer region 444 shown as darkened boxes, e.g., 448. Theuser may select a “full report” button 450 to generate a report on allthe switches that fall within the buffers around the selected customersites.

FIG. 20 illustrates an example of the full report rendered in userinterface 460 including information on all the switches that are locatedwithin the selected buffer regions of the selected customer sites. Thereport would include information identifying the switch, such as the NSP462, the geographical location 464 in terms of longitude and latitude,and the distance from the customer site 466. The network designer mayreview this full report to determine a switch and NSP to use to connectto from the customer site.

FIG. 21 illustrates a user interface 470 rendering the networkconnections between the switch sites for a selected vendor, which inuser interface 470 is the vendor 472. The network connections betweenNSP switches would be rendered as overlaid over the rendering of thetransportation corridors or other rendered points-of-interest in themap. Number 472 identifies a rendered connection and number 474identifies a rendered street in the map region 476. The renderedconnections may be displayed darker and overlaid over the renderedtransportation corridors. This allows the network designer to visualizethe route of the connections for the selected NSP overlaid with respectto the street layout of the map.

FIG. 22 illustrates a user interface 490 showing a zoom view of acustomer site, shown as triangle 492, which provides greater detail asto the street location, and shows other switches, e.g., 494 and othercustomer sites, e.g., 496, within the displayed buffer region 498. Userinterface 490 further shows a line 500 the network designer would haveadded from one switch 502 in the buffer 498 and the zoomed customer site492, which would further visualize information on such a proposedconnection, such as the distance.

FIG. 23 shows operations the network design tool 102 may perform toassist the user in visualizing different network design options. Uponinitiating (at block 520) the design operations to design a network,such as a Metropolitan Area Network, (MAN)/Wide Area Network (WAN), thenetwork design tool 102 receives (at block 522) user selection ofcustomer sites to consider as nodes in the network being designed. Theuser selected customer sites are rendered (at block 524) differentlythan non-selected customer sites. The buffer region definition isfurther received (at block 526), which may be entered through a dialogbox such as shown as box 422 in FIG. 18. The switch information 132 forall switches are queried (at block 528) to locate all switch locationsin the buffer regions for the selected sites. All determined switchlocations are rendered (at block 530) on the map in a manner differentthan the rendering of the customer sites. The switch locations arefurther rendered (at block 532) within the rendered buffer regions in adifferent manner than the switch locations outside of the bufferregions.

FIG. 24 illustrates a user interface 550 including four selectedcustomer sites, e.g., 552, and lines, e.g., 554, drawn between the sitesillustrating a network ring that may be formed for the selected customersites.

FIG. 25 illustrates a user interface 560 including buffers, e.g., 562,rendered around each of the selected customer sites.

FIG. 26 illustrates a user interface 570 showing a report of all theswitches and their NSPs that fall within the buffer region of each ofthe selected customer sites, including the switch ID 572, the switch NSP574, and the customer site address 576, as well as other informationthat would assist the network designer in designing a network.

The described network design tool enables a network designer tovisualize customer sites, NSP network infrastructure and therelationship therebetween to provide information the network designermay then use to select optimal network infrastructure from thedetermined best possible NSPs. The rendered information allows networkdesigners to make a comprehensive assessment and analysis of networkinfrastructure available for use with their network nodes.

Additional Embodiment Details

The described network design tool may be implemented as a method,apparatus or article of manufacture using standard programming and/orengineering techniques to produce software, firmware, hardware, or anycombination thereof. The term “article of manufacture” as used hereinrefers to code or logic implemented in hardware logic (e.g., anintegrated circuit chip, Programmable Gate Array (PGA), ApplicationSpecific Integrated Circuit (ASIC), etc.) or a computer readable medium,such as magnetic storage medium (e.g., hard disk drives, floppy disks,tape, etc.), optical storage (CD-ROMs, optical disks, etc.), volatileand non-volatile memory devices (e.g., EEPROMs, ROMs, PROMs, RAMs,DRAMs, SRAMs, firmware, programmable logic, etc.). Code in the computerreadable medium is accessed and executed by a processor. The code inwhich preferred embodiments are implemented may further be accessiblethrough a transmission media or from a file server over a network. Insuch cases, the article of manufacture in which the code is implementedmay comprise a transmission media, such as a network transmission line,wireless transmission media, signals propagating through space, radiowaves, infrared signals, etc. Thus, the “article of manufacture” maycomprise the medium in which the code is embodied. Additionally, the“article of manufacture” may comprise a combination of hardware andsoftware components in which the code is embodied, processed, andexecuted. Of course, those skilled in the art will recognize that manymodifications may be made to this configuration without departing fromthe scope of the present invention, and that the article of manufacturemay comprise any information bearing medium known in the art.

FIGS. 4 a, 4 b, 4 c and 5 a, 5 b illustrate examples of data structuresthat maintain information on customer sites and NSP networkinfrastructure. This information may be maintained in a format differentthan shown. Further, additional information may be provided for thecustomer sites and NSP resources.

Certain figures, such as FIGS. 7, 9, 10, 12, 14-16, 18-22, 24, 25, and26, depict a GUI interface with the map region and selectable customersand vendors in a particular orientation. In alternative embodiments, thearrangement of the GUI may differ and include different, less or moreinformation than shown.

The described embodiments discussed allowing a network designer to queryand render information on customer sites, NSP switches, and NSP paths.Additional information on the NSP resources and customer sites mayadditionally be provided and stored in the network design database.

The illustrated logic of FIGS. 1, 6, 8, 11, 13, 17, and 23 show certainevents occurring in a certain order. In alternative embodiments, certainoperations may be performed in a different order, modified or removed.Moreover, steps may be added to the above described logic and stillconform to the described embodiments. Further, operations describedherein may occur sequentially or certain operations may be processed inparallel. Yet further, operations may be performed by a singleprocessing unit or by distributed processing units.

FIG. 27 illustrates one implementation of a computer architecture 600 ofthe network components shown in FIGS. 1 and 3, such as in the clients,server, database, etc. The architecture 600 may include a processor 602(e.g., a microprocessor), a memory 604 (e.g., a volatile memory device),and storage 606 (e.g., a non-volatile storage, such as magnetic diskdrives, optical disk drives, a tape drive, etc.). The storage 606 maycomprise an internal storage device or an attached or network accessiblestorage. Programs in the storage 606 are loaded into the memory 604 andexecuted by the processor 602 in a manner known in the art. Thearchitecture further includes a network card 608 to enable communicationwith a network. An input device 610 is used to provide user input to theprocessor 602, and may include a keyboard, mouse, pen-stylus,microphone, touch sensitive display screen, or any other activation orinput mechanism known in the art. An output device 612 is capable ofrendering information transmitted from the processor 602, or othercomponent, such as a display monitor, printer, storage, etc.

The foregoing description of various embodiments of the invention hasbeen presented for the purposes of illustration and description. It isnot intended to be exhaustive or to limit the invention to the preciseform disclosed. Many modifications and variations are possible in lightof the above teaching. It is intended that the scope of the invention belimited not by this detailed description, but rather by the claimsappended hereto. The above specification, examples and data provide acomplete description of the manufacture and use of the composition ofthe invention. Since many embodiments of the invention can be madewithout departing from the spirit and scope of the invention, theinvention resides in the claims hereinafter appended.

1. A method, comprising: receiving a selection of customer sites; querying a database to determine geographical locations of the selected customer sites; rendering, in a graphical user interface, representations of the selected customer sites in a map at the geographical location of the selected sites in the map; receiving selection of at least one network service provider (NSP); querying the database to determine network infrastructure of the selected NSP and geographical locations of the determined network infrastructure; and rendering representations of the determined network infrastructure in a map at the determined geographical locations of the determined network infrastructure to render a visualization of the geographical locations of the selected customer sites and network infrastructure of the selected at least one NSP in the map.
 2. The method of claim 1, wherein the determined network infrastructure comprises at least one of a switch and a network path, and wherein the network infrastructure geographical location comprises at least one of a switch site location and a route of the network path.
 3. The method of claim 1, wherein the map comprises a street map, and wherein the rendered map visualizes transportation corridors, and wherein the rendered customer sites and network infrastructure are visualized superimposed over rendered transportation corridors in the street map.
 4. The method of claim 1, further comprising: receiving user selection of one rendered customer site; querying the database to determine information on the selected customer site; and rendering the determined information on the selected customer site in a dialog box.
 5. The method of 1, further comprising: querying connection information in the database to determine connections between the rendered customer sites; and rendering connections between the customer sites in the map to visualize the determined connections.
 6. The method of claim 5, further comprising: receiving a query including search criteria with respect to a parameter concerning network connectivity at the customer sites; querying the database to determine connections between customer sites having network connectivity information satisfying the search criteria included with the query; and rendering the determined connections in a different visual manner than those connections that do not satisfy the search criteria.
 7. The method of claim 5, wherein the connection information includes information on at least one of connected sites, connection bandwidth, and connection circuit types.
 8. The method of claim 1, further comprising: receiving a definition of a buffer region with respect to a selected customer site; querying the database to determine NSP network infrastructure located within the defined buffer region; rendering the buffer region around the rendering of the selected customer site in the map; and rendering the determined NSP network infrastructure within the defined buffer region in the map.
 9. The method of claim 8, wherein NSP network infrastructure rendered within the defined buffer region is rendered differently than NSP network infrastructure rendered outside of the buffer region.
 10. The method of claim 8, further comprising: generating a report identifying at least one of: the network infrastructure located within the buffer region, the NSP managing the identified network infrastructure, and a distance of the identified network infrastructure from the selected customer site for which the buffer region is defined.
 11. The method of claim 1, wherein the network infrastructure includes network switches and network paths, wherein rendering the representations of the determined network infrastructure comprises rendering representations of the determined switches in the map, further comprising: querying the database to determine network paths between the network switches rendered in the map; and rendering the network paths between the network switches in the map.
 12. The method of claim 11, wherein the map comprises a street map, and wherein the network paths are rendered superimposed over transportation corridors rendered on the map.
 13. The method of claim 11, further comprising: receiving user selection of a proposed path between the customer site and one network switch; rendering the proposed path in the map; and generating and rendering information on the proposed path in the map, including information on the distance of the proposed path.
 14. The method of claim 1, further comprising: receiving selection of a plurality of customer sites rendered in the map; receiving a definition of parameters of a buffer region with respect to the selected customer sites; determining buffer regions for each of the selected customer sites satisfying the defined parameters for the buffer region; querying the database to determine NSP network infrastructure located within each determined buffer region; rendering each determined buffer region around each selected customer site in the map; and rendering the determined NSP network infrastructure within each defined buffer region in the map.
 15. The method of claim 14, further comprising: generating a report identifying at least one of: the network infrastructure located within the determined buffer regions; the NSPs managing the identified network infrastructure within the determined buffer regions; and, for each selected customer site, a distance of the identified network infrastructure from the selected customer site within the buffer region for the selected customer site.
 16. A system, comprising: a processor; an output device in communication with the processor; code executed by the processor to cause the processor to perform: (i) receiving a selection of customer sites; (ii) querying a database to determine geographical locations of the selected customer sites; (iii) rendering, in a graphical user interface, representations of the selected customer sites in a map at the geographical location of the selected sites in the map; (iv) receiving selection of at least one network service provider (NSP); (v) querying the database to determine network infrastructure of the selected NSP and geographical locations of the determined network infrastructure; and (vi) rendering representations of the determined network infrastructure in a map at the determined geographical locations of the determined network infrastructure to render a visualization of the geographical locations of the selected customer sites and network infrastructure of the selected at least one NSP in the map.
 17. The system of claim 16, wherein the determined network infrastructure comprises at least one of a switch and a network path, and wherein the network infrastructure geographical location comprises at least one of a switch site location and a route of the network path.
 18. The system of claim 16, wherein the map comprises a street map, and wherein the rendered map visualizes transportation corridors, and wherein the rendered customer sites and network infrastructure are visualized superimposed over rendered transportation corridors in the street map.
 19. The system of claim 16, wherein the code further causes the processor to perform: receiving user selection of one rendered customer site; querying the database to determine information on the selected customer site; and rendering the determined information on the selected customer site in a dialog box.
 20. The system of claim 16, wherein the code further causes the processor to perform: querying connection information in the database to determine connections between the rendered customer sites; and rendering connections between the customer sites in the map to visualize the determined connections.
 21. The system of claim 20, wherein the code further causes the processor to perform: receiving a query including search criteria with respect to a parameter concerning network connectivity at the customer sites; querying the database to determine connections between customer sites having network connectivity information satisfying the search criteria included with the query; and rendering the determined connections in a different visual manner than those connections that do not satisfy the search criteria.
 22. The system of claim 16, wherein the connection information includes information on at least one of connected sites, connection bandwidth, and connection circuit types.
 23. The system of claim 16, wherein the code further causes the processor to perform: receiving a definition of a buffer region with respect to a selected customer site; querying the database to determine NSP network infrastructure located within the defined buffer region; rendering the buffer region around the rendering of the selected customer site in the map; and rendering the determined NSP network infrastructure within the defined buffer region in the map.
 24. The system of claim 23, wherein NSP network infrastructure rendered within the defined buffer region is rendered differently than NSP network infrastructure rendered outside of the buffer region.
 25. The system of claim 24, wherein the code further causes the processor to perform: generating a report identifying at least one of: the network infrastructure located within the buffer region, the NSP managing the identified network infrastructure, and a distance of the identified network infrastructure from the selected customer site for which the buffer region is defined.
 26. The system of claim 16, wherein the network infrastructure includes network switches and network paths, wherein rendering the representations of the determined network infrastructure comprises rendering representations of the determined switches in the map, and wherein the code further causes the processor to perform: querying the database to determine network paths between the network switches rendered in the map; and rendering the network paths between the network switches in the map.
 27. The system of claim 26, wherein the map comprises a street map, and wherein the network paths are rendered superimposed over transportation corridors rendered on the map.
 28. The system of claim 26, wherein the code further causes the processor to perform: receiving user selection of a proposed path between the customer site and one network switch; rendering the proposed path in the map; and generating and rendering information on the proposed path in the map, including information on the distance of the proposed path.
 29. The system of claim 16, wherein the code further causes the processor to perform: receiving selection of a plurality of customer sites rendered in the map; receiving a definition of parameters of a buffer region with respect to the selected customer sites; determining buffer regions for each of the selected customer sites satisfying the defined parameters for the buffer region; querying the database to determine NSP network infrastructure located within each determined buffer region; rendering each determined buffer region around each selected customer site in the map; and rendering the determined NSP network infrastructure within each defined buffer region in the map.
 30. The system of claim 16, wherein the code further causes the processor to perform: generating a report identifying at least one of: the network infrastructure located within the determined buffer regions; the NSPs managing the identified network infrastructure within the determined buffer regions; and, for each selected customer site, a distance of the identified network infrastructure from the selected customer site within the buffer region for the selected customer site.
 31. An article of manufacture for causing operations to be performed, wherein the operations comprise: receiving a selection of customer sites; querying a database to determine geographical locations of the selected customer sites; rendering, in a graphical user interface, representations of the selected customer sites in a map at the geographical location of the selected sites in the map; receiving selection of at least one network service provider (NSP); querying the database to determine network infrastructure of the selected NSP and geographical locations of the determined network infrastructure; and rendering representations of the determined network infrastructure in a map at the determined geographical locations of the determined network infrastructure to render a visualization of the geographical locations of the selected customer sites and network infrastructure of the selected at least one NSP in the map.
 32. The article of manufacture of claim 31, wherein the determined network infrastructure comprises at least one of a switch and a network path, and wherein the network infrastructure geographical location comprises at least one of a switch site location and a route of the network path.
 33. The article of manufacture of claim 31, wherein the map comprises a street map, and wherein the rendered map visualizes transportation corridors, and wherein the rendered customer sites and network infrastructure are visualized superimposed over rendered transportation corridors in the street map.
 34. The article of manufacture of claim 31, wherein the operations further comprise: receiving user selection of one rendered customer site; querying the database to determine information on the selected customer site; and rendering the determined information on the selected customer site in a dialog box.
 35. The article of manufacture of claim 31, wherein the operations further comprise: querying connection information in the database to determine connections between the rendered customer sites; and rendering connections between the customer sites in the map to visualize the determined connections.
 36. The article of manufacture of claim 35, wherein the operations further comprise: receiving a query including search criteria with respect to a parameter concerning network connectivity at the customer sites; querying the database to determine connections between customer sites having network connectivity information satisfying the search criteria included with the query; and rendering the determined connections in a different visual manner than those connections that do not satisfy the search criteria.
 37. The article of manufacture of claim 35, wherein the connection information includes information on at least one of connected sites, connection bandwidth, and connection circuit types.
 38. The article of manufacture of claim 31, wherein the operations further comprise: receiving a definition of a buffer region with respect to a selected customer site; querying the database to determine NSP network infrastructure located within the defined buffer region; rendering the buffer region around the rendering of the selected customer site in the map; and rendering the determined NSP network infrastructure within the defined buffer region in the map.
 39. The article of manufacture of claim 38, wherein NSP network infrastructure rendered within the defined buffer region is rendered differently than NSP network infrastructure rendered outside of the buffer region.
 40. The article of manufacture of claim 38, wherein the operations further comprise: generating a report identifying at least one of: the network infrastructure located within the buffer region, the NSP managing the identified network infrastructure, and a distance of the identified network infrastructure from the selected customer site for which the buffer region is defined.
 41. The article of manufacture of claim 31, wherein the network infrastructure includes network switches and network paths, wherein rendering the representations of the determined network infrastructure comprises rendering representations of the determined switches in the map, further comprising: querying the database to determine network paths between the network switches rendered in the map; and rendering the network paths between the network switches in the map.
 42. The article of manufacture of claim 41, wherein the map comprises a street map, and wherein the network paths are rendered superimposed over transportation corridors rendered on the map.
 43. The article of manufacture of claim 41, wherein the operations further comprise: receiving user selection of a proposed path between the customer site and one network switch; rendering the proposed path in the map; and generating and rendering information on the proposed path in the map, including information on the distance of the proposed path.
 44. The article of manufacture of claim 31, wherein the operations further comprise: receiving selection of a plurality of customer sites rendered in the map; receiving a definition of parameters of a buffer region with respect to the selected customer sites; determining buffer regions for each of the selected customer sites satisfying the defined parameters for the buffer region; querying the database to determine NSP network infrastructure located within each determined buffer region; rendering each determined buffer region around each selected customer site in the map; and rendering the determined NSP network infrastructure within each defined buffer region in the map.
 45. The article of manufacture of claim 44, wherein the operations further comprise: generating a report identifying at least one of: the network infrastructure located within the determined buffer regions; the NSPs managing the identified network infrastructure within the determined buffer regions; and, for each selected customer site, a distance of the identified network infrastructure from the selected customer site within the buffer region for the selected customer site 